home *** CD-ROM | disk | FTP | other *** search
Text File | 1987-12-01 | 48.8 KB | 1,535 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ----------------------------------
- CCHESS: IBM PC Conference Chess
- ----------------------------------
- Communications Accessory
- ----------------------------------
-
-
-
-
-
-
-
- CCHESS is distributed freely and may be copied by anyone for any
- number of machines. The author offers CCHESS as "shareware". If
- the program is found to be useful or entertaining, a registration
- of $35.00 is requested. If response warrants, CCHESS will be
- enhanced and extended. The author may be reached at:
-
-
- CABER Software
- R. (Scott) McGinnis
- P.O. Box 3607 Mdse Mart
- Chicago, IL 60654-0607
-
- PLINK, GEnie id: TARTAN
-
-
-
-
- Version 1.1: 871201
- R.McGinnis; Chicago
-
- CCHESS: IBM PC Conference Chess
- Version 1.1: 871201
-
-
-
- Table of Contents
- -----------------
-
- I. Introduction .............................................. page 1
-
- II. Running the program ....................................... page 2
-
- III. CCHESS Display ............................................ page 5
-
- IV. Services supported ......................................... page 6
-
- V. CCHESS Commands using COM-AND .............................. page 10
-
- VI. CCHESS Commands Standalone ................................. page 12
-
- VII. CCHESS Main Menu ........................................... page 13
-
- VIII. Beginning a Game ........................................... page 15
-
- IX. Game in Progress ........................................... page 17
-
- X. Saving and restoring a Game ................................ page 18
-
- XI. Ending a Game .............................................. page 19
-
- XII. Program Configuration (Alt-S, and Alt-P) ................... page 20
-
- XIII. Program Requirements ....................................... page 23
-
- XIV. Program and Author Information ............................ page 24
-
-
-
- Appendices
- ----------
-
-
- A. Switches and Parameters .................................... page 25
-
- B. Files ...................................................... page 27
-
- C. Messages ................................................... page 28
-
- D. Save file format ........................................... page 31
-
- E. Beta Release ............................................... page 32
-
-
-
- CCHESS: IBM PC Conference Chess Page 1
- Version 1.1: 871201
-
-
- I. Introduction
-
-
- A. What is CCHESS?
-
-
- CCHESS for the IBM PC is an accessory program, intended to be
- used with a 'base' communications program. CCHESS is integrated
- into the included program 'COM-AND'. However, CCHESS may be used
- with any comm program supporting a 'DOS gateway' that does not
- break an established comm link.
-
-
- CCHESS, used with network conferencing services such as People-
- Link's PARTY, CompuServe's CB and GEnie's RTC conferencing,
- provides a way to play chess with another person and 'see'
- the game in progress.
-
-
- B. This program
-
-
- CCHESS Version 1.1 executes in CGA hi-res graphics mode, or in
- Hercules graphics mode. A Microsoft Mouse is supported, if one
- is available.
-
-
- CCHESS may be copied freely and distributed to anyone for any
- number of machines. The author offers CCHESS as "shareware". If
- the program is found to be useful or entertaining, a registration
- is asked. CCHESS will be extended and enhanced if response
- warrants.
-
-
- C. This document
-
-
- This document describes the features of CCHESS. It will not
- attempt to describe all the features of COM-AND (which are
- available within CCHESS if used), or any other communications
- program used. From time-to-time the assumption will be made
- that COM-AND is used as the communications program, to high-
- light the interaction between CCHESS and COM-AND.
-
-
- Please do not take it that COM-AND is the only comm program
- possible to use. Refer to the documentation provided with your
- favorite comm program for a full discussion of its function and
- features. They won't be available in PC-VCO, however.
-
-
- Appendices here will provide details for very interested readers.
-
-
- CCHESS: IBM PC Conference Chess Page 2
- Version 1.1: 871201
-
-
- II. Running the program
-
-
- CCHESS is an accessory program, and may be entered in one of three
- ways: (1) it may be invoked through the accessory menu of the comm
- program COM-AND, (2) CCHESS may be loaded itself (in which case it
- will need to be able to load COM-AND) and (3) it may be loaded
- 'piggyback' (intended for use with the DOS gateway of other
- communications programs. Each method is useful and will be
- discussed separately.
-
-
- A. Loading through COM-AND
-
-
- COM-AND is invoked at the DOS prompt with the command:
-
- ------------------------------------------------------
- "d>" COM-AND <options>
-
- Where "d>" is the DOS prompt, and
- <options> is (<parm> (<parm> ...))
- where <parm> is either a switch or a parameter
-
- Refer to Appendix A of the COM-AND document for a discussion
- of switches and parameters.
- ------------------------------------------------------
-
-
- Once COM-AND has been loaded, the usual sequence would be to dial
- a network service using COM-AND's dialing directory or script
- language. When connection has been established, logon achieved,
- and a conference area entered, then CCHESS may be selected using
- the F1 Accessories menu.
-
-
- COM-AND defines an 'accessory' as:
-
- o A name which is displayed in the menu (as you like)
- o A subdirectory for use during the accessory (optional)
- o A script file to be performed (optional)
- o A program to be loaded - along with parameters (optional)
-
- COM-AND was supplied with several accessory menu entries set to
- load CCHESS, to serve as an example. Once loaded, CCHESS is an
- independent program, using the comm link established by COM-AND,
- and also many of the COM-AND functions. CCHESS is 'integrated'
- into COM-AND.
-
-
- Note that settings (echo/blank line suppression/logging etc) made
- in COM-AND carry over to the accessory when it is loaded, and
- settings made in the accessory carry over to COM-AND when the
- accessory terminates.
-
-
- CCHESS: IBM PC Conference Chess Page 3
- Version 1.1: 871201
-
-
- II. Running the program (continued)
-
-
- B. Loading CCHESS directly
-
-
- CCHESS may be invoked at the DOS prompt with the command:
-
- ------------------------------------------------------
- "d>" CCHESS <options>
-
- Where "d>" is the DOS prompt, and
- <options> is (<parm> (<parm> ...))
- where <parm> is either a switch or a parameter
-
- Refer to Appendix A of this document for a full description of
- switches and parameters.
- ------------------------------------------------------
-
-
- When CCHESS is run from the DOS prompt without the '/P' switch,
- it looks for the COM-AND program on the current subdirectory (or
- in the subdirectory indicated by a 'COM-AND=' environment
- variable). CCHESS will not run (without the '/P' switch) unless
- it can find COM-AND. CCHESS loads COM-AND and execution proceeds
- on the CRT (COM-AND side) of the program.
-
-
- Again, the usual sequence would be to dial a network service
- using COM-AND's dialing directory or script language. When
- connection has been established, logon achieved, and a conference
- area entered, then CCHESS may be invoked using the F1 key.
-
-
- Loaded this way, the F1 key simply serves to switch between the
- two sides of the program (CCHESS and COM-AND). No menu of
- additional accessories is available. All other features of
- COM-AND are available, however.
-
-
-
- CCHESS: IBM PC Conference Chess Page 4
- Version 1.1: 871201
-
-
- II. Running the program (continued)
-
-
- C. Loading CCHESS Piggyback
-
-
- CCHESS may be run piggyback as follows:
-
- ------------------------------------------------------
- "d>" CCHESS /P COMx <speed> <other options>
-
- where COMx = COM1, COM2, COM3 or COM4 and
- <speed> = 300, 1200, 2400, 4800, 9600
-
- Refer to Appendix A of this document for a full description
- of other options.
- ------------------------------------------------------
-
- For example:
-
- C> CCHESS /P COM1 2400
-
-
- Used in this manner, CCHESS 'picks-up' a comm line already
- opened and in use by another program. The 'COMx' and '<speed>'
- parameters are not strictly necessary; however, their use is
- recommended unless you ALWAYS use the same comm port and line-
- speed on all systems where ever you go.
-
-
- Note that Alt-X terminates CCHESS and simply returns you to
- DOS when CCHESS is loaded piggyback. Alt-X terminates both
- CCHESS and COM-AND when the program set is run without /P.
-
-
- Once back at the DOS prompt, you must return to the comm program
- you originally gatewayed - type 'EXIT' at the DOS prompt if your
- gateway was originally to COMMAND.COM. Refer to the documenta-
- tion provided with your comm program on the appropriate means of
- returning from a gateway.
-
-
-
- CCHESS: IBM PC Conference Chess Page 5
- Version 1.1: 871201
-
-
- III. CCHESS Display
-
-
- When the screen is placed into graphic mode, the screen is divided
- into several areas. The top line carries the program version and
- release number, and the Main menu. To the left of the screen is a
- graphic representation of a chessboard. On the right is a scrolling
- region of eight lines for text and a history of the game (if one
- is currently in progress).
-
-
- Initially the board is displayed from the point of view of the
- player of the white pieces, with all pieces in their starting
- position. You may setup a particular position with the 'Setup'
- pulldown.
-
-
- To begin a game you must have an opponent waiting. You select
- 'Start Game' on the Commands pulldown. You will be queried for
- board position and other details. You will be asked to identify the
- ID of your opponent. Your CCHESS program and your opponent's then
- talk to each other, agreeing over the particulars. Your opponent
- will be given a chance to refuse the set-up as you have it. If your
- opponent accepts the setup, the game begins.
-
-
- In conversation, when a speaker is identified (through the ID or
- handle - see following) to be your opponent, moves are parsed from
- received lines of text. Moves and game commands are displayed as
- they happen on-line.
-
-
-
- CCHESS: IBM PC Conference Chess Page 6
- Version 1.1: 871201
-
-
- IV. Services supported
-
-
- CCHESS is encoded to work with several network services and multi-
- user systems. CCHESS parses every incoming line for an ID.
- CCHESS's parser is 'automatic', in that you don't have to tell it
- which system to parse.
-
-
- The ID (or handle) parse begins after a carriage return from the
- network. When the ID of your opponent is identified, chess commands
- are parsed. The text is displayed if no command is parsed. If no
- ID is identified the text is displayed. Blank lines (extra carriage
- returns issued by the network) are not displayed by CCHESS because of
- the limited text area (7 lines on a CGA).
-
-
- CCHESS internal commands (such as moves) exchanged amongst opponents
- are not displayed as text of a conversation. CCHESS does not know
- if a text line is empty or not until the entire line is received.
- CCHESS erases an empty text line (visible as an ID followed by no
- text or followed by just a CCHESS command) and reuses the line when
- end-of-line (carriage return) is received.
-
-
- The CCHESS parser is only designed to deal with text issued within
- the conversational area of one of the systems. The parser is
- self-adjusting ... all of the supported formats will be taken as
- conversation. [The automatic nature of the parser DOES produce some
- false hits now and then. These do not interfere with CCHESS at all
- in normal usage.]
-
-
- The graphic side is not altogether appropriate for other uses, such
- as reading your mail. For other uses, switch to the alpha side (F1
- if you used COM-AND).
-
-
- The following pages describe templates for IDs and handles as dis-
- played on various systems (handles are assumed names which replace
- or add to an ID). I have also included some notes on each system
- and its use with CCHESS.
-
-
- CCHESS: IBM PC Conference Chess Page 7
- Version 1.1: 871201
-
-
- IV. Services supported (continued)
-
-
- A. PLINK IDs and handles:
-
- "(" <ID> ") " an initial "*" identifies handles
-
- Example: (TARTAN) This is how a line would look on PLINK
-
-
- PLINK does not report (to all in conference) when a customer
- exits.
-
- CCHESS is best used with echo off (the system doesn't echo what
- you type). You turn echo off with the command /NOECHO. The key-
- board buffer (controls pull-down) allows you to see your typing
- locally if you need.
-
-
- B. GEnie IDs and handles:
-
- "<" [Handle] <ID> "> "
-
- Example: <[Scott] TARTAN> This is how a line would look on GEnie
-
-
- GEnie reports to all present the exit or termination of another
- customer. CCHESS Version 1.1 does not use the report.
-
- CCHESS is best used with echo off (the system doesn't echo what
- you type). GEnie does not normally echo entered characters. If
- you are echoing characters locally (alt-E) turn it off. Use the
- keyboard buffer to see your typing.
-
-
- C. SOURCE IDs and aliases:
-
- <ID/alias> ": " -or- [nn] <ID/alias> ": "
-
- Example: [22] TARTAN: This is how a line would look on SOURCE
-
-
- The SOURCE reports to all attending the exit or termination of
- another customer. CCHESS Version 1.1 does not use the report.
-
- CCHESS is best used with echo off (the system doesn't echo what
- you type). The SOURCE allows you to turn off echo by exiting the
- SIG (entering command mode), setting half duplex (-> TERM -HALF)
- and re-entering the SIG.
-
-
- CCHESS: IBM PC Conference Chess Page 8
- Version 1.1: 871201
-
-
- IV. Services supported (continued)
-
-
- D. TBBS IDs:
-
- "(" <node> ":" <ID> ") "
-
- Example: (9: Scott McGinnis) This is how tbbs looks
-
-
- TBBS does not report (to all in conference) when a customer
- exits.
-
- TBBS is still new to me; TBBS BBS's are multiuser (up to 16 lines
- to a BBS), and provide a very comfortable conferencing facility.
- I haven't discovered yet how to turn local echo off. CCHESS is
- best used with echo off - if there is no such facility, I am sure
- one will be added, just to keep the reading easy.
-
-
- E. PROTOCALL IDs and handles:
-
- "<" nn.nn <ID> ">"
-
- Example: <04.21 TARTAN> This is how PROTOCALL looks
-
-
- PROTOCALL reports to all attending the exit or termination of
- another customer and various materializations and dematerializ-
- ations. CCHESS Version 1.1 does not use the report.
-
- CCHESS is best used with echo off (the system doesn't echo what
- you type). You toggle echo off with the command /ECHO. The
- keyboard buffer (controls pull-down) allows you to see your
- typing locally if you need.
-
-
- CCHESS: IBM PC Conference Chess Page 9
- Version 1.1: 871201
-
-
- IV. Services supported (continued)
-
-
- F. CIS handles:
-
- "(" <Band> , <ID> ") "
- where <Band> ::= (A!B)(N!NN)","
-
- Example: (A1,TARTAN) This is how a line would look on CIS
-
-
- CIS does not report (to all in conference) when a customer exits.
-
- CCHESS is best used with echo off (the system doesn't echo what
- you type). You turn echo off with the command /NOECHO. The key-
- board buffer (controls pull-down) allows you to see your typing
- locally if you need.
-
-
- G. Delphi IDs and handles:
-
- <ID> "> " where an initial "." identifies handles
-
- Example: TARTAN> This is how a line would look on Delphi
-
-
- Delphi does not report (to all in conference) when a customer
- exits.
-
- CCHESS is best used with echo off (the system doesn't echo what
- you type). I recommend requesting help from an experienced
- Delphi user to do this.
-
-
- CCHESS: IBM PC Conference Chess Page 10
- Version 1.1: 871201
-
-
- V. CCHESS Commands using COM-AND
-
-
- When CCHESS is loaded with COM-AND the following Alt'd keys are
- available:
-
- F1 Switch between text (CRT) and graphic modes. The switch
- is not allowed if a game is in progress.
-
- F10 Help screen. All currently implemented commands are
- summarized on this screen. Any command may be executed
- directly while this screen is displayed.
-
- Alt-F10 DOS Gateway. If there is sufficient memory available, and
- if the environment variable "COMSPEC" identifies a valid
- .COM or .EXE file, CCHESS will load the program and execute
- it. This normally is used to load a second copy of
- COMMAND.COM for full access to DOS while a communication
- session is in progress.
-
- Ctl-End Send a Break. This sends a true 'break' signal.
-
- Alt-B Redisplay (backscreen). The speed of the display may be
- controlled using Cntl-PgDn (slower) or Cntl-PgUp (faster).
-
- Alt-C Clear the screen.
-
- Alt-D Dialing directory. The Dialing directory and file is
- identical to that used by Procomm (version 2.x), to allow
- files to be shared between the two programs.
-
- Alt-E Toggle echo (full/half duplex). This function is also
- invoked through the dialing directory (echo on).
-
- Alt-F File directory. A mask is required - just as DOS DIR
- command.
-
- Alt-G Toggle blank line suppression. CCHESS will suppress blank
- lines on the CRT side if you wish. This can be made a
- program default through the Alt-O options menu.
-
- Alt-H Hang-up. Hang-up the phone.
-
- Alt-I Program information. Author information. Propaganda.
-
- Alt-L Toggle CGA/EGA modes (if you have an EGA).
-
-
- COM-AND: IBM PC Communications and accessories Page 11
- Version 1.1: 870731
-
-
- V. CCHESS Commands using COM-AND (continued)
-
-
- Alt-M Define a macro for Alt-0 through Alt-9. The Macro defin-
- ition file is identical to that used by Procomm (version
- 2.x), allowing Macros to be shared between the two.
-
- Note: Although this menu can be used from either COM-AND or
- accessory, macros are defined through COM-AND and changes
- will be made on the COM-AND side.
-
- Alt-O Options. Set controlling flags for COM-AND.
-
- Note: Although this menu can be used from either COM-AND or
- accessory, it really only effects COM-AND settings.
-
- Alt-P Comm Parameters. Set baud rate, parity, number of data
- and stop bits for use when COM-AND is initially loaded.
- These settings are overridden by run-time switches.
- Whatever the current setting, the dialing directory
- overrides when it is used.
-
- Note: Although this menu can be used from either COM-AND or
- accessory, it really only effects COM-AND settings. Each
- accessory has an Alt-P function as well accessible only when
- the accessory is loaded with the '/P' switch.
-
- Alt-R Redial the last number dialed. The program will redial the
- last number dialed number until the function is terminated
- (with ESC), or connection is made.
-
- Alt-S Setup. Define initial program values, such as Modem initial-
- ization, the Modem Hangup sequence, and file names.
-
- Note: Although this menu can be used from either COM-AND or
- accessory, it really only effects COM-AND settings. Each
- accessory has an Alt-S function as well which may or may not
- be accessible when COM-AND is loaded.
-
- Alt-T Elapsed time. The time the program was loaded, and the time
- the last call (Alt-C or Alt-R) was placed are displayed.
- The elapsed time since the latest time is also displayed.
-
- Alt-X Exit the program. The program may or may not hangup the
- phone, depending on the modem. Note: COM-AND is also
- terminated, no matter how you loaded CCHESS and COM-AND.
-
- Alt-Z Toggle parity mask. The high bit mask is used only for text
- received and displayed - it has no effect on XMODEM
- transfers.
-
- Alt-0/9 Send a Macro. A string of characters defined through the
- Alt-M command described above is transmitted.
-
-
- CCHESS: IBM PC Conference Chess Page 12
- Version 1.1: 871201
-
-
- V. CCHESS Commands Standalone
-
-
- When CCHESS is loaded standalone (piggyback, /P) only the following
- Alt'd keys are active:
-
- Alt-C Screen Clear. Clear the text area.
-
- Alt-L Toggle CGA/EGA modes (if you have an EGA).
-
- Alt-S Setup. This menu allows setting a defaults used by CCHESS.
- It is also available through the 'Controls' pull-down.
-
- Alt-P Set Comm Parms. This menu provides a way to change default
- communications parameters used by CCHESS ONLY when it is run
- piggyback. It is therefore only available when CCHESS is
- run piggyback.
-
- Alt-X Exit the program. In this case (piggyback) only CCHESS is
- terminated. You are returned to DOS.
-
-
- When used in this manner, the pull-down menues are still available,
- of course. Transcripting is the only function obtained through a
- pull-down that is inhibited when CCHESS is run piggyback.
-
-
- CCHESS: IBM PC Conference Chess Page 13
- Version 1.1: 871201
-
-
- VII. CCHESS Main Menu
-
-
- On the top line of the display in CCHESS there is a menu of key-
- words. A keyword is selected (with the cursor keys or a mouse),
- and a submenu pulled-down (with the return or right mouse button).
- Submenu items are selected (again, with the cursor keys or a mouse),
- and executed (with the return, space bar, or left mouse button).
-
-
- Top-line menu items are selected with the Cursor right/left keys or
- right and left motion with the mouse. When the cursor key is
- depressed, the next menu item (in a circular manner) is highlighted.
- The highlighted keyword is 'selected'.
-
-
- A submenu is pulled-down with the Cursor-down key (or End, or PgDn,
- or the left mouse button). A submenu item is selected from a
- pull-down when it is highlighted by pressing the Cursor-down/up keys
- keys repetitively. When the Cursor key is depressed, the next submenu
- item (again in a circular manner) is highlighted. The highlighted
- keyword is 'selected'.
-
-
- A selected submenu item is executed with a Carriage Return. That's
- the key with the silly arrow. When a submenu item is executed, the
- pull-down is released (it goes back up?). Hitting the Space-bar or
- the left mouse button will also execute the selected item.
-
-
- A pull-down is released without executing any item with any of the
- following keys: ESC, Home, PgUp, or right mouse button.
-
-
- CCHESS: IBM PC Conference Chess Page 14
- Version 1.1: 871201
-
-
- VII. CCHESS Main Menu (continued)
-
-
- A. Controls
-
- The 'Controls' pulldown allows you to select certain
- control functions. Controls are:
-
- . The board legend may be turned on and off
- . The board may be viewed from either
- Black's or White's side
- . You may playback (and view) a saved conference
- (this does not play a game).
- . Transcripting may be turned on and off (if you
- loaded CCHESS with COM-AND).
- . Turn keyboard display on and off.
- . Turn transcript hold on and off.
- . Invoke CCHESS's Setup menu (Alt-S invokes COM-AND's
- Setup menu if COM-AND is loaded).
-
-
- B. Commands
-
- The 'Commands' pulldown allows you to issue commands to
- start and end games, and issue commands during your turn:
-
- . Wait for a certain opponent (who will 'start').
- . Start a game (when you have an opponent):
- .. Start a new game
- .. Restart from a saved position
- .. Start a game, setting pieces by hand
- . Save the current game and terminate the current
- game in progress (only during turn).
- . Resign the current game in progress (during turn).
- . Offer your opponent a draw (during turn).
- . Reject the last move transmitted (during turn).
- . Resend the last move (in case it got lost).
- . Switch to CRT mode (even if game is in progress;
- (if a game is on, it will be terminated).
-
-
- C. Setup
-
- The 'Setup' pulldown allows you to setup board pieces:
-
- . Reset the board to its initial state.
- . Manually place individual pieces.
- . Save the current position.
- . Restore a saved position.
-
-
- CCHESS: IBM PC Conference Chess Page 15
- Version 1.1: 871201
-
-
- VIII. Beginning a Game
-
-
- Conceptually, the hardest part of CCHESS to visualize (or to put
- into words) is the beginning of a game. The bullets below perhaps
- oversimplify the process, but make the process of beginning a
- chess game on-line clear (I hope).
-
-
- o You will need access to a network supported by CCHESS
- (PLINK, GEnie, SOURCE, TBBS, PROTOCALL, CIS or Delphi)
- and an ID on that network.
-
- o You will need to logon to the network of your choice and
- enter the/a conference area (a line, channel, room or what
- have you).
-
- o You will need to be on the graphics side (CCHESS). You
- will need to set-up the board (using the 'Setup' pulldown).
-
- o You will need to have an opponent present in the same
- line/channel/room. Your opponent will need the CCHESS
- program as well, or a well developed visual imagination,
- and accurate typing skills (not recommended).
-
- o Your opponent will need to select 'Await opponent' from the
- 'Controls' pulldown. Your opponent must specify your ID (or
- handle or alias) as you will have it for the game. [Note:
- you cannot change your ID/handle during the game.]
-
- o You then select 'Start Game' from the 'Controls' pulldown.
- You will be queried as to:
-
- . The board - is it setup correctly?
- . Are you going to play White or Black?
- . What is the ID of your opponent?
-
- o At this point, you will see a notice telling you that the
- two programs (yours and your opponent's) are talking. Your
- opponent will be shown the board, and be asked to accept the
- game.
-
- o If your opponent accepts the board as shown, the game is on,
- and whoever plays White will be prompted for a move. If
- your opponent rejects the board, you will be informed, and
- have another chance to setup the board and 'Start game'.
-
-
- When all this has been accomplished (most of it should seem natural
- to those who spend much time on-line), the game is 'on', and the
- first player to move will be prompted for a move.
-
-
- CCHESS: IBM PC Conference Chess Page 16
- Version 1.1: 871201
-
-
- VIII. Beginning a Game (continued)
-
-
- Moves are prompted in the lower right hand corner (of the CGA
- screen, and above the text area on a Hercules screen). A move is
- entered as "<from> <to>" using standard notation. For example:
-
- Our move: E2E4
-
- would be King's pawn on 2 moved to King's Pawn on 4 for White, as
- White's first move. Turning on the board legend makes the standard
- notation easy to use (for those of us raised "P-K4").
-
-
- When you are prompted for a move, you have a few other options as
- well as the obvious one of entering <from> <to> square designations.
- You can use the mouse to select the <from> and <to> squares, or you
- might enter one of the following:
-
- o-o Short castle
- o-o-o Long castle
- REJECT Refuse the last move
- DRAW Offer a draw
- SAVE SAVE the current position
- RESIGN Exit the game
- EXIT Terminate the game
- Esc Hit the escape key
-
-
- When you hit the 'escape' key, your cursor will re-appear in the
- scrolling text area and you may type to your opponent (or anybody
- listening/watching). When you enter a carriage return (or the Esc
- key again), you will be returned to the move prompt.
-
-
- You use the mouse to select <from> and <to> squares as follows:
-
- o Select the <from> square with the mouse.
- o Press the left mouse button to 'keep' that square.
- o Select the <to> square you wish with the mouse.
- o Press the left mouse button to 'keep' that square and send
- the move to your opponent.
-
-
- Backspace will erase your entry (entered through the keyboard or the
- mouse). When you type a carriage return (or a second left mouse
- button if you're using one), your move is verified and sent to your
- opponent. [Note: CCHESS does not verify moves per se (it does not
- help you play a better game, or avoid errors). CCHESS only verifies
- that there is a piece of your color on the <from> square.]
-
-
- Should line noise, or the inadvertent loss of your opponent (for
- example due to 'call waiting') interfere with the exchange of moves,
- you may resend your last move with the 'Commands' pulldown.
-
-
- CCHESS: IBM PC Conference Chess Page 17
- Version 1.1: 871201
-
-
- IX. Game in progress
-
-
- Once the game has started, CCHESS supports the play by alternating
- move prompts, first white then black, and so on. There are a few
- limitations imposed by CCHESS when a game is in progress.
-
-
- o You cannot switch to the CRT side (COM-AND) without
- terminating the current game in progress. While a game is
- in progress, the F1 key is inhibited.
-
- o Should you encounter a program bug, or an emergency need
- to switch to the CRT side, you may do so. The 'Commands'
- pulldown allows a switch to CRT side - however, it will
- terminate any current game in progress.
-
- o You can playback received text (if you loaded CCHESS with
- COM-AND) with Alt-B only when it is not your turn. You
- will see transmitted and received CCHESS commands in the
- playback, but CCHESS does not act upon them.
-
- o Should your opponent loose a move (due to line noise or
- what have you, you may resend your last move using the
- 'Commands' pulldown. Select 'Resend move'.
-
- o You may reject your opponent's last move. You may type the
- command 'REJECT' at your move prompt, or you may select
- 'Reject move' from the 'Controls' pulldown. However, no
- more than one move may be rejected at a time... you may not
- reject the move prior to your opponent's REJECT.
-
- o Certain commands (EXIT/DRAW/RESIGN/REJECT) may only be
- performed during your 'turn'.
-
-
- CCHESS: IBM PC Conference Chess Page 18
- Version 1.1: 871201
-
-
- X. Saving and Restoring a Game
-
-
- You may save a game in progress at any time using the 'SAVE'
- command entered at the move prompt (as described above), or the
- 'Save' option of the 'Setup' pull-down, or the 'Save and exit'
- option of the 'Commands' pulldown. All three methods save the
- current game (or board position if there isn't a game in progress)
- in a disk file. If there is a disk file of the name you select, it
- will be purged and the new position written over it.
-
-
- When a position is saved, the following items are recorded:
-
- o Timestamp of the save
- o The current board position
- o The current 'to move' value (if any)
- o The game history (if any)
-
-
- You may restore a saved position when no game is in progress, with
- the 'Restore position' option of the 'Setup' pulldown. When you
- restore a saved position, you will see the board as it was when
- the save file was taken. You will not see the 'to move' value
- unless you use the restored position to start a game ('START by
- hand').
-
-
- You may also restore a saved position when you initiate a game.
- When you choose this option ('Restart saved game' of the 'Controls'
- pulldown), the game as it was when the save took place is restored.
- You will see the move log as it was when the save was taken (your
- opponent will not, of course). You may select either color to play
- from this point.
-
-
- CCHESS: IBM PC Conference Chess Page 19
- Version 1.1: 871201
-
-
- XI. Ending a Game
-
-
- CCHESS offers several options for terminating a game in progress.
- Please note that when a game is terminated, CCHESS does not
- terminate. You may start a new game, switch to the CRT side (if
- you loaded CCHESS with COM-AND), or just sit and puzzle. Game
- termination refers only to CCHESS's tracking/display of a game.
-
-
- A. Draw
-
- You may offer your opponent a draw only on your turn. When
- you offer a draw, your opponent will be queried for accept-
- ance. If you opponent accepts the offer, the game is done.
- If your opponent rejects the offer the game must continue.
-
- B. Save and Exit
-
- You may save the current position and exit the game at any
- time. When you execute this option, your opponent will be
- informed of the fact, and your opponent's game terminated as
- well.
-
- C. Resign
-
- You may resign a game in progress when it is your move.
- Your game is terminated, as is your opponent's.
-
-
- You may save a game position after you have ended a game. This
- allows you to save a game for later restart when 'call waiting'
- knocks your opponent off-line.
-
-
- CCHESS: IBM PC Conference Chess Page 20
- Version 1.1: 871201
-
-
- XII. Program Configuration (Alt-S, and Alt-P)
-
-
- A. Setup Screen (Alt-S)
-
- 1. Files
-
- . Default Save file
-
- When you save a position, you will be asked for a file name.
- The file name specified here is used if you enter a blank
- save file name to this query.
-
- . Default Log
-
- This file name will be used when you request transcripting
- and enter a blank in response to the log file name query.
-
- 2. Timings and Values
-
- . Millisecond loop
-
- The millisecond loop value gives the number of LOOP instruc-
- tions required to wait for one millisecond. This type of
- timing function is used in CCHESS in several places: 1) to
- to pace displays such as playback, and 2) for tone
- generation. 260 is suggested for 4.77 Mhz clocks. 432 is
- recommended for 8Mhz clocks. CCHESS will attempt to
- calculate the correct value if you set it smaller than 10.
-
- . Break delay
-
- As noted above, the break delay is controlled through the
- Millisecond loop value. This value "break delay"
- specifies the number of "milliseconds" the comm line is
- held when a break is issued (Cntl-END).
-
- . Text Lines
-
- You may set the size of the scrolling region for text.
- Dedicated gamers will want less text, and more game history.
- Buffs will want more talk and less game... Note that this
- doesn't take effect until the next use of CCHESS.
-
-
- CCHESS: IBM PC Conference Chess Page 21
- Version 1.1: 871201
-
-
- XII. Program Configuration (continued)
-
-
- A. Setup Screen (Alt-S) (continued)
-
- 3. Flags
-
- . Initial advert
-
- Turn off the advert after you've seen it. Just before you
- register... This only effects standalone usage.
-
- . Exit Query
-
- Some people disdain the query "do you really and truly mean
- it" when they type Alt-X. Some feel it mandatory. CCHESS
- is distributed with exit query disabled. You may enable it,
- if you're so inclined. This only effects standalone usage.
-
-
- 4. Save
-
- You may change values for one execution of CCHESS, or you
- may change them for all subsequent executions of CCHESS. If
- you save values, the values you've saved will be used the
- next time you run CCHESS.
-
-
- CCHESS: IBM PC Conference Chess Page 22
- Version 1.1: 871201
-
-
- XII. Program Configuration (continued)
-
-
- B. Communications Parameters (Alt-P)
-
- 1. Rate + Parity + Data bits + Stop Bits
-
- Baud rate, parity, number of data bits and number of stop bits
- are specified in combination through the first 10 selections
- on the Alt-P window. These selections are the only way you
- may specify baud rate. Other parameters (parity, data bits,
- and stop bits) may be set individually (below).
-
- Do not change the current setting after you've connected to a
- service. Make your setting here before you use CCHESS
- on-line.
-
- 2. Parity, Data bits and Stop bits
-
- Individual settings for parity, number of data bits and number
- of stop bits comprise the next 7 items of this menu. You also
- set these values when you create a dialing directory entry.
-
- Again - do not change the current setting after you've
- connected to a service. The settings on this screen are
- effective only when CCHESS is run standalone. Changing a
- setting here could disconnect you.
-
- 3. COM ports
-
- The last four items on this menu are the candidates for COM
- ports. Select the appropriate port for your modem. This item
- is usually selected once, and then left alone.
-
- 4. Save
-
- You save the current settings for the next execution of CCHESS
- through the "Save" selection. Settings are saved to disk.
-
-
- CCHESS: IBM PC Conference Chess Page 23
- Version 1.1: 871201
-
-
- XIII. Program Requirements
-
-
- This program can only function on an IBM PC or DOS compatible
- machine. CCHESS does direct to screen buffer fetches and stores;
- so compatibility is an important issue.
-
-
- CCHESS supports CGA and Hercules. CCHESS uses a Microsoft Mouse if
- one is available (not well, but if I receive comments it'll
- certainly get better). [CCHESS does not use EGA at this time as
- its screen aspect ratio would not approach 'square' squares.]
-
-
- CCHESS disk I/O is done through the 'Handle' oriented I/O routines
- added to DOS 2.0. Therefore DOS 2.0 is a minimum requirement.
-
-
- CCHESS (Version 1.1) requires 78K for itself. So you need 192. To
- take advantage of the DOS Gateway (use another comm program) or to
- use COM-AND, you'll need 256K.
-
-
- CCHESS: IBM PC Conference Chess Page 24
- Version 1.1: 871201
-
-
- XIV. Program and Author Information
-
-
- This program was written using Microsoft Macro-Assembler. The
- author likes assembler. Assembly language is an entirely appro-
- priate vehicle for some of the program, and a not-inappropriate
- vehicle for the rest of it. Everything, in moderation...
-
-
- The author of this program is R. Scott McGinnis of Chicago,
- Illinois. PLINK and GEnie ID: TARTAN. Comment and suggestions
- (and criticism in moderation) are welcomed:
-
- CABER Software
- R. (Scott) McGinnis
- P.O. Box 3607 Mdse Mart
- Chicago, IL 60654-0607
-
-
- For this program, I wish to thank my wife Elizabeth. She supported
- me whole-heartedly in this effort. Without her belief in me I'd
- probably be prospecting somewhere in the desert, talking to mules.
-
-
- This program (Version 1.1) may be distributed freely with the caveat
- that the Author information displayed at program termination is not
- removed. If the program is found entertaining or useful, a regis-
- tration of $35.00 is requested. Should response warrant it, I will
- continue to develop and support this product.
-
-
- Most of the hardware names and software names in this document are
- trademarks or trade names of specific manufacturers.
-
-
- CCHESS: IBM PC Conference Chess Page 25
- Version 1.1: 871201 Appendices
-
-
- A. Switches and parameters
-
-
- Program Switches:
-
- /C 'CGA only': You may specify a CGA display only with this switch.
- EGA and Hercules displays are inhibited. The default for CCHESS
- is to automatically adjust to Hercules or CGA.
-
- /G 'Force Hercules': You may force Hercules mode even if PC-VCO
- doesn't think you have a Hercules board. However - use this
- switch cautiously.
-
- /H 'Hercules': You may specify a Hercules admissible with this
- switch. This is the default.
-
- /E 'EGA': CCHESS ignores the availablility of an EGA adaptor
- unless you use this switch (EGA may be toggled within CCHESS
- with Alt-L). CCHESS does not display a 'square' chess board
- with EGA, but EGA does give considerably more room for text.
-
- /P 'Piggyback': CCHESS will open the COM port in such a manner as
- to retain another program's already opened line. When CCHESS is
- exited, the previous state is restored. This is for use with
- other communications programs having a DOS Gateway (e.g.
- PROCOMM).
-
- /X 'Debug mode': This switch enables certain resident debugging
- keys. I do not recommend you use it. I document it only for
- the VERY curious.
-
-
- CCHESS: IBM PC Conference Chess Page 26
- Version 1.1: 871201
-
-
- A. Switches and Parameters (continued)
-
-
- Program parameters:
-
- COM1 CCHESS uses the COM1 port
- COM2 CCHESS uses the COM2 port
- COM3 CCHESS uses the COM3 port
- COM4 CCHESS uses the COM4 port
-
- 300 CCHESS uses port at 300 baud
- 1200 CCHESS uses port at 1200 baud
- 2400 CCHESS uses port at 2400 baud
- 4800 CCHESS uses port at 4800 baud
- 9600 CCHESS uses port at 9600 baud
-
- EVEN CCHESS uses port with even parity
- ODD CCHESS uses port with odd parity
- NONE CCHESS uses port with no parity
-
- DATA7 CCHESS transmits/receives 7 data bits
- DATA8 CCHESS transmits/receives 8 data bits
-
- STOP1 CCHESS uses and expects 1 stop bit
- STOP2 CCHESS uses and expects 2 stop bits
-
-
- Program switches require no delimiters. Parameters when contiguous
- must be preceded by a blank. For example:
-
- A> CCHESS 1200 Run the program for 1200 baud communications
- A> CCHESS /P1200 Piggyback, 1200 baud
- A> CCHESS /P 1200 Piggyback, 1200 baud
-
-
- Program defaults are:
-
- A> CCHESS COM2 300 EVEN DATA7 STOP1
-
-
- CCHESS: IBM PC Conference Chess Page 27
- Version 1.1: 871201
-
-
- B. Files
-
-
- Program files: CCHESS expects the following files on the default
- drive (and subdirectory)
-
- CCHESS.DFT Parameter save area (Alt-S and Alt-P)
-
-
- CCHESS will create this file if it is not found. CCHESS will auto-
- matically update the .DFT file if the program version number is
- different from the .DFT file version number. When CCHESS is loaded,
- the old file format will be loaded. A new file will then be created
- to replace the old file.
-
-
- When a new major (e.g. 1.0, 1.0, ...) is released or when you move
- CCHESS from one machine to another the previous .DFT file probably
- should be purged (and recreated by CCHESS).
-
-
- CCHESS also uses (if available) the following files:
-
- CCHESS.SAV Default save position file
- CCHESS.LOG Default log file name
-
-
- Each of these file names may be changed through the ALT-S (Setup)
- Menu. CCHESS currently implements the rule for file names: If the
- given file name carries a drive spec (i.e. C:) or path (sub-
- directory), the name is taken 'as is'. If neither condition holds,
- the default drive and subdirectory are added to the file name.
-
-
-
- CCHESS: IBM PC Conference Chess Page 28
- Version 1.1: 871201 Appendices
-
-
- C. Messages
-
-
- Only for the technically inclined, I've included here the actual
- messages CCHESS issues. These messages are ASCII, and when received
- are expected to be prefaced by a parsable ID or handle.
-
-
- AWAIT opponent: Transmitted when game is set to 'await opponent'.
-
- CHESS: WAITING
- =-----+------=
- !
- +----------------------> 15 bytes, literal ascii
-
- START Game: Transmitted by initiator of a game. The receiver
- must be 'awaiting opponent'. The transmitter awaits either
- (1) ACCEPT or (2) REJECT messages from the receiver.
-
- CHESS: START xyz<board><chksum>
- =-----+----=-+++=--+--==--+---=
- ! !!! ! !
- ! !!! ! +----> 2 byte checksum, bin-ascii
- ! !!! !
- ! !!! +-----------> 64 byte board, bin-ascii
- ! !!!
- ! !!+--------------> 1 byte: Value 1/2 Unused
- ! !!
- ! !+---------------> 1 byte: Value 1/2 We are B/W
- ! !
- ! +----------------> 1 byte: Value 1/2 Who first
- !
- +-----------------------> 13 bytes; literal ASCII
-
- ACCEPT game: Transmitted by receiver to initiator to accept START.
-
- CHESS: GAME
- =----+----=
- !
- +----------------------> 12 bytes, literal ascii
-
- REJECT game: Transmitted by receiver to initiator to reject START.
-
- CHESS: REJECT
- =----+------=
- !
- +----------------------> 14 bytes, literal ascii
-
-
- CCHESS: IBM PC Conference Chess Page 29
- Version 1.1: 871201 Appendices
-
-
- C. Messages (continued)
-
-
- EXIT game: Transmitted by current player to signal abrupt terminate.
-
- CHESS: EXIT
- =----+----=
- !
- +----------------------> 12 bytes, literal ascii
-
- RESIGN game: Transmitted by current player to resign game.
-
- CHESS: RESIGN
- =----+------=
- !
- +----------------------> 14 bytes, literal ascii
-
- DRAW game: Transmitted by current player to offer a draw. This
- message will be acknowledged by (1) OKDRAW or (2) NODRAW
-
- CHESS: DRAW
- =----+----=
- !
- +----------------------> 12 bytes, literal ascii
-
- OKDRAW: Transmitted in response to DRAW message to accept
-
- CHESS: OKDRAW
- =----+------=
- !
- +----------------------> 14 bytes, literal ascii
-
- NODRAW: Transmitted in response to DRAW message to reject
-
- CHESS: NODRAW
- =----+------=
- !
- +----------------------> 14 bytes, literal ascii
-
-
- CCHESS: IBM PC Conference Chess Page 30
- Version 1.1: 871201 Appendices
-
-
- C. Messages (continued)
-
-
- MOVE command: Transmitted by current player to indicate move. This
- message rejected ad hoc by REJECT MOVE
-
- CHESS: MOVE xxyy
- =-----+---=-=+=+
- ! ! !
- ! ! +-------------> 'to' square, <alpha><numeric>
- ! !
- ! +---------------> 'from' square, <alpha><numeric>
- !
- +----------------------> 12 bytes, literal ascii
-
- REJECT move: Transmitted during turn after 1st move
-
- CHESS: REJECT
- =----+------=
- !
- +----------------------> 14 bytes, literal ascii
-
-
- CCHESS: IBM PC Conference Chess Page 31
- Version 1.1: 871201 Appendices
-
-
- D. Save file structure:
-
- 0 1 2 3 4 5 6 7 8
- +-----+-----+-----+-----+-----+-----+-----+-----+---//
- ! 'C' ! 'C' ! 'H' ! 'E' ! 'S' ! 'S' ! <ver-rev> ! ...
- +-----+-----+-----+-----+-----+-----+-----+-----+---//
-
- 8 9 10 11 12 13 14 ... 18
- //--+-----+-----+-----+-----+-----+-----+----/ /----+-----+---//
- ! mm ! '/' ! dd ! '/' ! yyyy ! ' ' ! ...
- //--+-----+-----+-----+-----+-----+-----+----/ /----+-----+---//
-
- 18 19 20 21 22 23 24 25 26
- //--+-----+-----+-----+-----+-----+-----+-----+-----+---//
- ! hh ! ':' ! mm ! ':' ! ss ! ...
- //--+-----+-----+-----+-----+-----+-----+-----+-----+---//
-
- 26 ... 76
- //--+-----+-----+-----+----/ /----+-----+-----+-----+---//
- ! Col ! ToM ! 48 bytes reserved for future use ! ...
- //--+-----+-----+-----+----/ /----+-----+-----+-----+---//
-
- 76 78 80 202 204
- //--+-----+-----+-----+-----+----/ /----+-----+------
- ! Square 0 ! Square 1 ! ... ! Square 63 !
- //--+-----+-----+-----+-----+----/ /----+-----+-----+
-
- 204 206 208 ...
- //--+-----+-----+-----+-----+-----------+----/ /-----
- ! Log count ! White 1 ! Black 1 ! White 2 ...
- //--+-----+-----+-----+-----+-----------+----/ /----+
-
- <Ver-rev> Binary, Version * 256 + Revision
- mm ASCII, Month number (01-12)
- dd ASCII, Day number (01-31)
- yyyy ASCII, Year
- hh ASCII, Hour number (00-23)
- mm ASCII, Minute number (00-59)
- ss ASCII, Second number (00-59)
- Col Color of saving player (0 = white)
- ToM Color of player to move (0 = white)
- Square <n> Binary, represents piece on square n
- White 1 Binary, <from square #> <to square #>
- Log count Binary, count of move log in bytes
-
-
- CCHESS: IBM PC Conference Chess Page 32
- Version 1.1: 871201 Appendices
-
-
- D. Beta release
-
-
- Version 1.1 is a beta release, rather in the way of an experiment.
- It is not in any way a completed program or utility. It will only
- be completed if people downloading this and reviewing it find it of
- interest... interesting enough to use it and to report back to me
- difficulties and problems.
-
-
- There are many oversights and errors of omission in this program.
- As this is the first public release, I expect there'll turn up the
- usual crop of bugs. For this reason, release of CCHESS is labeled a
- beta release. In the following weeks (months) I hope to address the
- following matters:
-
- o Coronation (Piece promotion)
- o REJECT more than one layer of moves
- o A protocol for move exchange (receiver ACK's each MOVE).
- o A chess clock.
- o Playback of a saved game.
-
-
- Each of these matters are areas I would appreciate other's opinions.
- For example, a protocol for move exchanges would ensure that moves
- are received by the opponent, and ensure you are informed of a lost
- move. However - what should be done at that point? Experience may
- show that no such protocol is required - or experience may leave
- some very frustrated gamers.
-
-
- The comments and criticisms I receive will be used to guide the
- development of version 1.1 and further versions of this game. When
- I feel that the program is satisfactory (to its users), I'll go on
- to produce a version of CHECKERS and a version of BACKGAMMON for
- on-line use.
-
-
- Please address any comments and criticisms you have - and bug
- reports - to the ID TARTAN on either the GEnie or PLINK systems.